Ingeniería de Requerimientos de Software

Modelo de Flujos de Datos

Tema 8 · Análisis Estructurado

TI13312 | Universidad Tecmilenio  ·  Nivel: Intermedio-Avanzado

→ Navega con las flechas del teclado o los botones

INTRODUCCIÓN

¿Por qué modelar flujos de datos?

🏢 Contexto Empresarial

Cualquier aplicación de software que administra información requiere del ingreso de datos para transformarlos en información útil para la toma de decisiones.

📋 Ejemplo: Sistema de Contabilidad

Entrada: datos de facturas, clientes, artículos, cantidades y precios ingresados por el vendedor.

Salida: reportes de ingresos, clientes frecuentes, artículos más vendidos, nivel de inventario.

🎯 Decisiones Gerenciales

Con esa información el gerente puede: generar promociones, identificar clientes inactivos, reconocer vendedores productivos y detectar tiendas con bajas ventas.

💡 Preguntas Detonadoras
  • ¿Existe alguna forma gráfica para expresar las necesidades y transformación de información?
  • ¿Cómo se describen las partes que componen la información?
OBJETIVOS

Objetivos de Aprendizaje

🎯 Al concluir este tema podrás:

Interpretar herramientas de modelado

Reconocer las herramientas que permiten expresar gráficamente los procesos internos de las empresas y sus flujos de información.

Construir Diagramas de Flujo de Datos

Aplicar los cuatro símbolos básicos y las 7 reglas del juego para crear DFDs de contexto, nivel 1 y nivel 2.

Elaborar un Diccionario de Datos

Documentar estructuras de datos y elementos, describiendo su formato, longitud, tipo y criterio de validación.

Validar requerimientos con el usuario

Usar los diagramas como herramienta de comunicación con los stakeholders para identificar huecos y ambigüedades en los requerimientos.

8.1 FUNDAMENTOS

¿Qué es el Diagrama de Flujo de Datos?

📖 Definición

El DFD es una técnica de análisis estructurado que permite observar de forma gráfica los procesos de datos que utiliza una organización. No es parte formal de UML, pero es ampliamente utilizada en proyectos de ingeniería de software.

💬 Pressman (2010)

"El modelo de datos y el diagrama de flujo de datos es todo lo que se necesita para obtener una visión significativa de los requerimientos de algunas aplicaciones de software."

¿Para quién es útil el DFD?

🔬 Ingeniero de Requerimientos

Modela flujos de información independiente de su implantación física, sin definir si los procesos son manuales o automáticos.

👤 Usuario Final (Stakeholder)

Comprende los diagramas fácilmente porque no requieren conocimientos técnicos detallados. Puede proponer cambios antes del desarrollo.

🏗️ Ingeniero Diseñador

Identifica estructuras de datos necesarias, repositorios e interfaces fundamentales que deben implementarse.

8.1 FUNDAMENTOS

Ventajas del Modelo de Flujo de Datos

📚 Según Kendall y Kendall (2011)

🔓 Libertad de implementación

Permite al equipo diseñar la solución tecnológica más adecuada sin restricciones impuestas por el diagrama.

🔗 Comprensión de interrelaciones

Facilita entender cómo sistemas y subsistemas se comunican y dependen entre sí.

💬 Comunicación con el usuario

Detalla el sistema actual de forma que el usuario pueda validar y sugerir mejoras antes del desarrollo.

✅ Verificación de completitud

Permite determinar si se han definido todos los datos y procesos necesarios para el sistema.

🏠 Analogía del Plano de una Casa

El DFD es como el plano de construcción de una casa: si se le explican los símbolos al cliente, puede reconocer las áreas y distribución con anticipación y proponer cambios antes de que se construya.

8.2 CREACIÓN DEL MODELO

Los 4 Símbolos Básicos del DFD

El DFD utiliza una combinación de 4 símbolos básicos para representar todos los componentes del sistema:

Entidad

Cualquier sistema, persona, departamento o área que ingresa o solicita información. Queda fuera de los límites del sistema.

Ej: estudiante, contabilidad, sistema de nóminas

Flujo de Datos

Flecha que representa la transferencia de información de un origen a un destino. Su etiqueta nombra los datos.

Ej: datos de factura, reporte mensual

Proceso

Círculo o burbuja que representa una transformación de datos. Los datos de entrada salen con diferente etiqueta.

Ej: 1. Registrar venta, 2. Generar reporte

Almacén de Datos

Rectángulo abierto que representa un repositorio donde se guardan datos: bases de datos, archivos, registros.

Ej: D1 Clientes, D2 Facturas

💡 Sugerencia

Para evitar saturar el diagrama con demasiadas flechas, es posible replicar las entidades necesarias. Usa siempre el mismo nombre: estudiante es diferente a universitario.

8.2 CREACIÓN DEL MODELO

Las 7 Reglas del Juego

Para crear un DFD correcto debes seguir estas reglas esenciales:

#ReglaPor qué importa
1Un DFD debe tener al menos 1 proceso.Sin proceso no hay transformación de datos.
2Todo proceso debe tener al menos un flujo de entrada y uno de salida.Los procesos no pueden operar sin datos.
3Los flujos de datos que entran y salen de un proceso deben cambiar de etiqueta.La transformación implica un cambio en los datos.
4No deben existir conexiones directas entre entidades, entre almacenes, ni entre entidades y almacenes.Esas comunicaciones no son parte del sistema.
5Las entradas y salidas de niveles inferiores deben corresponder con las de niveles superiores.Garantiza consistencia y trazabilidad.
6Ningún elemento puede permanecer incomunicado.Todos los componentes deben estar conectados.
7Un DFD no debe tener más de 9 procesos por simplicidad.Mantiene el diagrama comprensible y legible.
8.2 CREACIÓN DEL MODELO

Niveles del Diagrama de Flujo de Datos

🌐 Nivel 0 – Contexto

Vista más general del sistema. Contiene un solo proceso que representa todo el sistema y las entidades externas que participan.

Preguntas clave: ¿Quiénes participan? ¿Qué información entra y sale?

🔍 Nivel 1 – Detalle inicial

"Zoom" sobre el proceso central del Nivel 0. Muestra los procesos principales y los almacenes de datos. La numeración va de izquierda a derecha y de arriba a abajo.

🔬 Nivel 2 – Sub-procesos

Detalla lo que sucede dentro de los procesos del Nivel 1. Los sub-procesos del proceso 1 se numeran 1.1, 1.2, 1.3… facilitando la trazabilidad.

📌 Procesos Primitivos

No todos los procesos requieren subniveles. Si un proceso no se descompone en subprocesos, se denomina proceso primitivo. En el ejemplo del libro, el Proceso 2 y el Proceso 4 son procesos primitivos.

🔗 Consistencia entre niveles

Las entidades, flujos de entrada y flujos de salida del Nivel 0 deben aparecer también en el Nivel 1. El Nivel 2 puede incluir flujos y almacenes adicionales que no aparecen en los niveles superiores.

8.3 DICCIONARIO DE DATOS

¿Qué es un Diccionario de Datos?

📖 Definición

Colección de datos ordenados alfabéticamente que define su estructura. Según Kendall y Kendall (2011), su objetivo principal es mantener limpios los datos, es decir, consistentes en todo el sistema.

✅ Consistencia correcta

Si la región norte es "N", siempre debe usarse "N" en todo el sistema.

❌ Inconsistencia a evitar

Usar "N", "Nte", "north" y "norte" para el mismo concepto.

Ejemplo cotidiano: El Ticket del Supermercado

🧾 Ticket de Compra

Ticket = nombre_establecimiento + dirección_establecimiento + fecha_compra + artículo_comprado + precio_unitario + cantidad + subtotal + total + método_pago + (cambio)

Método de pago = [efectivo, tarjeta de crédito, tarjeta de débito]

Nota: el paréntesis indica dato opcional; los corchetes indican valores mutuamente excluyentes.

8.3 DICCIONARIO DE DATOS

Notación para Estructuras de Datos

El diccionario de datos utiliza operadores estándar para describir las estructuras:

OperadorSignificadoEjemplo
=Está compuesto porDirección = calle + número + colonia + ciudad
+Y (concatenación)nombre + apellido_paterno + apellido_materno
{ }Los elementos se repetirán{artículo_comprado}
[ ]Algún dato de una lista (mutuamente excluyentes)[efectivo, tarjeta_crédito, tarjeta_débito]
( )El elemento puede o no ser incluido(cambio)

Ejemplo completo: Dirección del establecimiento

Dirección_Establecimiento = calle + número + colonia + ciudad + país + código_postal
Método_Pago = [efectivo, tarjeta_crédito, tarjeta_débito]
Detalle_Compra = {artículo_comprado + precio_unitario + cantidad} + subtotal
-- Las subestructuras se definen de forma independiente
8.3 DICCIONARIO DE DATOS

Descripción de Elementos de Datos

Cada elemento de dato (campo) se documenta con la siguiente ficha:

Descripción del Elemento

CampoDescripciónEjemplo
IDIdentificador consecutivo únicoCUST_01
NombreNombre del elementoNúmero de cliente
AliasSinónimo del elementoNúmero de consumidor
DescripciónDescripción breveIdentifica a la persona en la transacción

Tipos de Datos Básicos

TipoDescripción
Bit / BooleanValor 1 ó 0, verdadero o falso
CarácterCualquier valor alfanumérico
Fechadd/mm/aa — Ej: 30/05/25
Numérico enteroCualquier valor entero
Numérico decimalValor con punto decimal
MonedaEj: $999,999.99
AutonuméricoConsecutivo único, no se repite
8.3 DICCIONARIO DE DATOS

Características y Validación del Elemento

Características del Elemento

CampoDescripciónEjemplo
LongitudN.° de caracteres o dígitosTeléfono: 10
Formato entrada/salida9=dígito, X=carácter, separadores: / - |(999) 999-99-99
Valor por defectoValor inicial sin ingresar datoPaís: México
Tipo de valorContinuo o Discreto
FormatoAlfabético / Alfanumérico / Fecha / NuméricoAlfanumérico

Criterio de Validación

CampoDescripciónEjemplo
ContinuoValores desde límite inferior a límite superiorLim_Inf: 5, Lim_Sup: 10
DiscretoValores específicos predefinidosAGS / Aguascalientes
BCN / Baja California
ComentariosNotas adicionalesLa lista de ciudades depende del país elegido
📌 Formato de entrada

9 = dígito  |  X = carácter
Separadores: / - | , .

EJEMPLOS

Ejemplo Integrador: Sistema de Ventas

🎯 Escenario

Una tienda departamental necesita modelar su sistema de ventas. Identifiquemos sus componentes para construir el DFD.

Entidades

  • Cliente — solicita compra y recibe ticket
  • Vendedor — ingresa datos de la venta
  • Servidor de Pagos — entidad externa secundaria
  • Sistema de Inventario — actualiza stock

Almacenes de Datos

  • D1 — Clientes
  • D2 — Productos / Inventario
  • D3 — Facturas / Ventas

Estructura del Flujo Principal

Factura = id_factura + fecha +
  datos_cliente + {línea_producto} +
  subtotal + impuesto + total +
  método_pago + (cambio)

Línea_Producto = id_producto +
  descripción + cantidad + precio_unitario

Método_Pago =
  [efectivo, tarjeta_crédito, tarjeta_débito]
💡 Observación

La Factura incluye subestructuras (datos_cliente, línea_producto, método_pago) que se definen por separado en el diccionario de datos.

EJERCICIO PRÁCTICO

Ejercicio: Modelado de una Biblioteca Digital

📚 Caso: Sistema de Biblioteca Digital

📋 Descripción del Escenario

Una universidad desea modelar su sistema de biblioteca digital. Los estudiantes buscan y descargan libros. Los bibliotecarios registran nuevos materiales. El sistema genera reportes de uso para la dirección académica.

🎯 Tarea 1: Construye el DFD Nivel 0

Identifica: entidades externas, el proceso principal del sistema y los flujos de entrada y salida. Verifica que se cumplan las 7 reglas del juego.

🎯 Tarea 2: DFD Nivel 1

Descompón el sistema en al menos 4 procesos: Buscar material, Descargar libro, Registrar material nuevo, Generar reporte. Añade los almacenes necesarios.

🎯 Tarea 3: Diccionario de Datos

Documenta la estructura Registro_Libro usando la notación del diccionario. Incluye al menos 6 elementos de datos con su tipo, longitud y formato.

🎯 Tarea 4: Elemento de Datos

Describe el elemento ISBN con su ficha completa: ID, nombre, alias, descripción, longitud, formato de entrada, tipo de valor y criterio de validación.

ACTIVIDAD EVALUABLE

Entregable: Modelado de Tu Proyecto

📌 Instrucciones Generales

Aplica los conceptos del Tema 8 al sistema de información que está desarrollando tu equipo durante el curso.

DFD de Contexto (Nivel 0)

Dibuja el diagrama identificando todas las entidades externas y los flujos de información que entran y salen del sistema. Usa un proceso único que represente el sistema completo.

DFD Nivel 1

Descompón el sistema en los procesos principales (mínimo 4, máximo 9). Incluye los almacenes de datos y valida la consistencia con el Nivel 0.

Diccionario de Datos

Documenta al menos 3 estructuras de datos con su notación completa. Para cada estructura incluye al menos 5 elementos documentados con la ficha completa.

Verificación de Reglas

Incluye una tabla de verificación donde confirmes el cumplimiento de cada una de las 7 reglas del juego para tu diagrama.

📅 Criterios de Evaluación

Correctitud del DFD (40%) · Completitud del diccionario (30%) · Verificación de reglas (20%) · Presentación y claridad (10%)

CIERRE

Puntos Clave del Tema 8

📊 DFD como herramienta

Técnica de análisis estructurado para modelar gráficamente flujos de información, comprensible sin conocimientos técnicos.

🔲 4 Símbolos

Entidad, Flujo de datos, Proceso y Almacén de datos son los únicos elementos necesarios.

🎮 7 Reglas

Garantizan que el diagrama sea correcto, consistente y comprensible para todos los involucrados.

📡 Niveles

Nivel 0 (contexto), Nivel 1 (procesos principales) y Nivel 2+ (subprocesos detallados con trazabilidad).

📖 Diccionario de Datos

Complementa el DFD documentando estructuras y elementos de datos con su notación estándar.

✅ Consistencia

El diccionario mantiene datos limpios y consistentes en todo el sistema, evitando ambigüedades.

🏠 Analogía Final

Al dibujar el DFD es posible identificar huecos de información que requieran mayor detalle o definición más clara. Es como los planos de una casa: el cliente puede proponer cambios antes de que se construya, ahorrando tiempo y dinero en correcciones posteriores.

CHECKPOINT

¿Qué debes poder hacer?

🎯 Asegúrate de poder:

✅ Competencia 1

Interpretar las herramientas que ayudan a modelar sistemas para documentar los procesos internos de las empresas.

✅ Competencia 2

Aplicar los diagramas de flujos de datos y el diccionario de datos como herramientas de la ingeniería de requerimientos para documentar el sistema.

✅ Competencia 3

Verificar el cumplimiento de las 7 reglas del juego en cualquier DFD que construyas o revises.

✅ Competencia 4

Documentar estructuras y elementos de datos usando la notación estándar del diccionario de datos con criterios de validación.

Glosario Básico

Flujo de información

Transferencia de datos relacionados de un origen a un destino con la finalidad de proveer información útil para realizar alguna acción.

Diagrama

Dibujo que permite la abstracción de conceptos a través de elementos gráficos, con el objetivo de solucionar un problema.

Proceso primitivo

Proceso que no se descompone en subprocesos y por tanto no requiere un diagrama de nivel inferior.

REFERENCIAS Y RECURSOS

Bibliografía y Recursos Adicionales

Bibliografía Obligatoria

[1] Kendall, E. y Kendall, J. (2011). Systems analysis and design (8ª ed.). New Jersey: Prentice Hall.
[2] Pressman, R. (2010). Ingeniería de Software. Un enfoque práctico (7ª ed.). México: McGraw Hill.

Lecturas Recomendadas

[3] Zuloaga, L. (2015). Diagrama de flujo de datos. Repositorio Universidad de Belgrano.
repositorio.ub.edu.ar/handle/123456789/5156
[4] Yourdon, E. (2009). Chapter 9: Dataflow Diagrams.
static1.squarespace.com — Yourdon DFD.pdf
[5] Berzal, F. (s.f.). Diagramas de flujos de datos y diccionario de datos.
elvex.ugr.es/idbis/db/docs/design/X-DFDs.pdf
🔗 Herramientas para crear DFDs

Lucidchart · draw.io · Visio · Creately · Miro — todas permiten usar los 4 símbolos estándar del DFD.

¡Excelente Trabajo!

Fin del Tema 8 · Modelo de Flujos de Datos

TI13312 Ingeniería de Requerimientos de Software · Universidad Tecmilenio

Ahora puedes modelar y documentar flujos de datos de forma profesional 📊

1 / 19